<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:p="http://primefaces.org/ui"    
      xmlns:f="http://java.sun.com/jsf/core">

    <body>
        <ui:composition template="./../MasterPage/masterPage.xhtml">
            <ui:define name="content">
                <p:panel header="Listado de Giros y Encomiendas">
                    <h:form id="frmNuevo">
                        <p:growl id="growl" showDetail="true"/>
                        <p:growl id="messages" />
                        <h:panelGrid id="padre" columns="1" style="width: 100%">                            
                            <h:panelGrid id="hijo2" columns="1" style="width: 100%">
                                <p:fieldset legend="Búsqueda Avanzada" toggleable="true" collapsed="false" toggleSpeed="500">
                                    <h:panelGrid id="buscador" columns="8" style="width: 100%" cellpadding="5">                                    
                                        <h:outputText value="Fecha Inicio:"/>
                                        <p:calendar required="true" requiredMessage="Ingrese la Fecha de salida" style="width: 100px" value="#{managedBeanEncomienda.fechaactual}" pattern="dd/MM/yyyy" />
                                        <h:outputText style="color:white" value="::::::"/>
                                        <h:outputText value="Fecha Final:"/>
                                        <p:calendar required="true" requiredMessage="Ingrese la Fecha de salida" style="width: 100px" value="#{managedBeanEncomienda.fecha2}" pattern="dd/MM/yyyy" />
                                        <h:outputText style="color:white" value="::::::"/>
                                        <h:outputText style="display: #{managedBeanIniciosesion.objetoEmpleado.cargo.carCargo.equalsIgnoreCase('ADMINISTRADOR') eq true?'display':'none'}" value="Elegir Agencia" />
                                        <h:panelGrid columns="1" style="display: #{managedBeanIniciosesion.objetoEmpleado.cargo.carCargo.equalsIgnoreCase('ADMINISTRADOR') eq true?'display':'none'}" >
                                            <p:selectOneMenu id="agenevioss" filter="true" filterMatchMode="contains" value="#{managedBeanEncomienda.objetoAgencia}" effect="drop" style="width:425px" converter="AgenciaConverter" >
                                                <f:selectItems value="#{managedBeanAgencia.objetoItems2}"/>
                                            </p:selectOneMenu>
                                        </h:panelGrid>
                                    </h:panelGrid>
                                    <h:panelGrid  columns="1" style="width: 60%">
                                        <h:outputText value="Buscar:" />
                                        <p:inputText value="#{managedBeanEncomienda.buscar}" />
                                    </h:panelGrid>
                                    <br />
                                    <h:panelGrid  columns="1" style="width: 100%">
                                        <h:outputText value="Buscar Por:" />
                                        <p:selectOneRadio  id="options1" value="#{managedBeanEncomienda.buscapor}">
                                            <f:selectItem itemLabel="Destinatario" itemValue="destinatario" />
                                            <f:selectItem itemLabel="Agencia de Envio" itemValue="envio" />
                                            <f:selectItem itemLabel="Remitente" itemValue="remitente" />                                            
                                        </p:selectOneRadio>
                                    </h:panelGrid>
                                    <center>
                                        <p:commandButton icon="ui-icon-arrowrefresh-1-w" value="Buscar" action="#{managedBeanEncomienda.filtroAvanzadoencoxentregar(managedBeanIniciosesion)}" update=":frmNuevo:resultados :frmNuevo:growl" />
                                    </center>
                                </p:fieldset>
                                <br />
                                <p:dataTable id="resultados" var="encomien" value="#{managedBeanEncomienda.listaencoxentregar}" widgetVar="marcaTable" emptyMessage="Datos no encontrados"
                                             selection="#{managedBeanEncomienda.objetoEmcomienda}" selectionMode="single"
                                             rowKey="#{encomien.idEncomienda}" 
                                             >
                                    <p:ajax event="rowSelect" listener="#{managedBeanEncomienda.onRowSelect}"
                                            update=":frmNuevo:display :frmNuevo:tabladetalle :frmNuevo:growl" oncomplete="MarcaDialogo.show()" />
                                    <p:ajax event="rowUnselect" listener="#{managedBeanEncomienda.onRowUnselect}" update=":frmNuevo:growl"/>
                                    <f:facet name="header">  
                                        <p:outputPanel>  
                                            <h:outputText value="Listado de Giros y Encomiendas Pendientes por Entregar" />
                                        </p:outputPanel>  
                                    </f:facet>
                                    <p:column id="nombre" style="text-align: center; white-space: normal" > 
                                        <f:facet name="header">
                                            <h:outputText value="Agencia de Envio:" />
                                        </f:facet>
                                        <h:outputText value="#{encomien.agencia.ciudad.departamento.depDepartamento} #{encomien.agencia.ciudad.ciudCiudad} #{encomien.agencia.agenDireccion}" />                                        
                                    </p:column>  
                                    <p:column id="descripcion" style="text-align: center; white-space: normal" > 
                                        <f:facet name="header">
                                            <h:outputText value="agencia Destino" />
                                        </f:facet>
                                        <h:outputText value="#{encomien.agencia1.ciudad.departamento.depDepartamento} #{encomien.agencia1.ciudad.ciudCiudad} #{encomien.agencia1.agenDireccion}" />  
                                    </p:column>
                                    <p:column id="remi" style="text-align: center; white-space: normal" > 
                                        <f:facet name="header">
                                            <h:outputText value="Remitente" />
                                        </f:facet>
                                        <h:outputText value="#{encomien.cliente.cliRUC.equalsIgnoreCase('--')?encomien.cliente.persona.perDNI:encomien.cliente.cliRUC} #{encomien.cliente.cliRUC.equalsIgnoreCase('--')?encomien.cliente.persona.perApellidos:encomien.cliente.cliRazSoc}" />
                                    </p:column>
                                    <p:column id="desti" style="text-align: center; white-space: normal" > 
                                        <f:facet name="header">
                                            <h:outputText value="Destinatario" />
                                        </f:facet>
                                        <h:outputText value="#{encomien.cliente1.cliRUC.equalsIgnoreCase('--')?encomien.cliente1.persona.perDNI:encomien.cliente1.cliRUC} #{encomien.cliente1.cliRUC.equalsIgnoreCase('--')?encomien.cliente1.persona.perApellidos:encomien.cliente1.cliRazSoc}" />
                                    </p:column>
                                    <!--<p:column id="fecha" filterMatchMode="contains" filterBy="#{encomien.cliente1.cliRUC} #{encomien.cliente1.cliRazSoc}" style="text-align: center" > 
                                        <f:facet name="header">
                                            <h:outputText value="Fecha" />
                                        </f:facet>
                                        <h:outputText value="{encomien.viaje.viaFehaSalida}" >
                                            <f:convertDateTime dateStyle="full" timeZone="es" type="date" pattern="dd/MM/yyyy" />
                                        </h:outputText>
                                    </p:column>-->
                                    <p:column id="horasali" style="text-align: center" > 
                                        <f:facet name="header">
                                            <h:outputText value="Hora de Salida" />
                                        </f:facet>
                                        <h:outputText value="#{encomien.viaje.viaHoraSalida}" />
                                    </p:column>
                                    <p:column id="descrip" style="text-align: center; white-space: normal" >
                                        <f:facet name="header">
                                            <h:outputText value="Descripcion" />
                                        </f:facet>
                                        <h:outputText value="#{encomien.encDescripcion}"   />
                                    </p:column>
                                    <p:column id="estado" style="text-align: center" > 
                                        <f:facet name="header">
                                            <h:outputText value="Estado:" />
                                        </f:facet>
                                        <h:outputText style="background-color: #{encomien.encEstado eq 0?'orangered':encomien.encEstado eq 1?'green':encomien.encEstado eq 3?'blue':'black'}; font-weight: bold; color: white" value="#{encomien.encEstado eq 0?'Recogida':encomien.encEstado eq 1?'Por Enviar':encomien.encEstado eq 3?'Por Recoger':'Canceladas'}" />
                                    </p:column>
                                </p:dataTable>
                            </h:panelGrid>
                        </h:panelGrid>

                        <p:dialog modal="true" id="dialog" header="Información Detallada de Giros y Encomiendas" widgetVar="MarcaDialogo" resizable="false"
                                  showEffect="explode" hideEffect="explode" height="700px" >
                            <h:panelGrid id="display" columns="2" cellpadding="4" style="width: 100%">
                                <p:fieldset legend="Datos del Giro o Encomienda" toggleable="true" toggleSpeed="500" >  
                                    <p:ajax event="toggle" listener="#{fieldsetBean.handleToggle}" update="growl" />
                                    <h:panelGrid columns="4" cellpadding="10" >  
                                        <h:outputText value="Agencia de Envio: "  />                                        
                                        <h:outputText style="width: 85%" value="#{managedBeanEncomienda.objetoEmcomienda.agencia.ciudad.departamento.depDepartamento} #{managedBeanEncomienda.objetoEmcomienda.agencia.ciudad.ciudCiudad} #{managedBeanEncomienda.objetoEmcomienda.agencia.agenDireccion}" />                                        
                                        <h:outputText value="Agencia Destino " /> 
                                        <h:outputText style="width: 85%" value="#{managedBeanEncomienda.objetoEmcomienda.agencia1.ciudad.departamento.depDepartamento} #{managedBeanEncomienda.objetoEmcomienda.agencia1.ciudad.ciudCiudad} #{managedBeanEncomienda.objetoEmcomienda.agencia1.agenDireccion}" />  
                                        <h:outputText value="Remitente: " />
                                        <h:outputText value="#{managedBeanEncomienda.objetoEmcomienda.cliente.cliRUC.equalsIgnoreCase('--')?managedBeanEncomienda.objetoEmcomienda.cliente.persona.perDNI:managedBeanEncomienda.objetoEmcomienda.cliente.cliRUC} #{managedBeanEncomienda.objetoEmcomienda.cliente.cliRUC.equalsIgnoreCase('--')?managedBeanEncomienda.objetoEmcomienda.cliente.persona.perApellidos:managedBeanEncomienda.objetoEmcomienda.cliente.cliRazSoc} #{managedBeanEncomienda.objetoEmcomienda.cliente.cliRUC.equalsIgnoreCase('--')?managedBeanEncomienda.objetoEmcomienda.cliente.persona.perNombres:'.'}" />
                                        <h:outputText value="Destinatario: " />
                                        <h:outputText style="color:blue; font-weight: bold" value="#{managedBeanEncomienda.objetoEmcomienda.cliente1.cliRUC.equalsIgnoreCase('--')?managedBeanEncomienda.objetoEmcomienda.cliente1.persona.perDNI:managedBeanEncomienda.objetoEmcomienda.cliente1.cliRUC} #{managedBeanEncomienda.objetoEmcomienda.cliente1.cliRUC.equalsIgnoreCase('--')?managedBeanEncomienda.objetoEmcomienda.cliente1.persona.perApellidos:managedBeanEncomienda.objetoEmcomienda.cliente1.cliRazSoc.concat(' Entregar A DNI:')} #{managedBeanEncomienda.objetoEmcomienda.cliente1.cliRUC.equalsIgnoreCase('--')?managedBeanEncomienda.objetoEmcomienda.cliente1.persona.perNombres: managedBeanEncomienda.objetoEmcomienda.cliente1.persona.perDNI.concat(' ').concat(managedBeanEncomienda.objetoEmcomienda.cliente1.persona.perNombres).concat(' ').concat(managedBeanEncomienda.objetoEmcomienda.cliente1.persona.perApellidos)}" />
                                        <h:outputText value="Nro. Comprobante: " />
                                        <h:outputText value="#{managedBeanEncomienda.objetoEmcomienda.encNroDocComp}" />
                                        <h:outputText value="Descripcion: " />
                                        <h:outputText  value="#{managedBeanEncomienda.objetoEmcomienda.encDescripcion}" />                                        
                                        <h:outputText value="Tipo de Pago"/> 
                                        <p:selectOneMenu disabled="#{managedBeanEncomienda.objetoEmcomienda.encEstado eq 3?'false':'true'}" id="tipopago" filter="true" filterMatchMode="contains" value="#{managedBeanEncomienda.objetoEmcomienda.tipopago}" effect="drop" style="width:425px" converter="TipoPagoConverter" >
                                            <f:selectItems  value="#{managedBeanTipoPago.objetoItems}"/>                                        
                                        </p:selectOneMenu>
                                        <h:outputText value="¿Pagado?" style="color: blue; font-weight: bold" />
                                        <p:selectOneRadio style="color: blue; font-weight: bold" disabled="#{managedBeanEncomienda.objetoEmcomienda.encEstado eq 3?'false':'true'}" id="options" value="#{managedBeanEncomienda.objetoEmcomienda.encPagado}">
                                            <f:selectItem itemLabel="SI" itemValue="true" />
                                            <f:selectItem itemLabel="NO" itemValue="false" />
                                        </p:selectOneRadio>                                        
                                        <h:outputText value="Fecha Salida" />
                                        <h:outputText value="#{managedBeanEncomienda.objetoEmcomienda.viaje.viaFehaSalida}" >
                                            <f:convertDateTime dateStyle="full" timeZone="es" type="date" pattern="dd/MM/yyyy" />
                                        </h:outputText>
                                        <h:outputText value="Hora de Salida" />
                                        <h:outputText value="#{managedBeanEncomienda.objetoEmcomienda.viaje.viaHoraSalida}" />

                                        <h:outputText value="Total: " />
                                        <h:outputText value="#{managedBeanEncomienda.objetoEmcomienda.encTotal}" >
                                            <f:convertNumber type="currency" minFractionDigits="2" pattern="#0.00"/>
                                        </h:outputText>
                                        <h:outputText value="Descuento: " />
                                        <h:outputText value="#{managedBeanEncomienda.objetoEmcomienda.encDescuento}" >
                                            <f:convertNumber type="currency" minFractionDigits="2" pattern="#0.00"/>
                                        </h:outputText>
                                        <h:outputText /><h:outputText style="color: orangered" value="#{managedBeanEncomienda.objetoEmcomienda.encPagado eq false?'Esta encomienda no fue pagada en la Agencia de Envio.!!!':''}" />
                                    </h:panelGrid>
                                    <center>
                                        <p:commandButton disabled="#{managedBeanEncomienda.objetoEmcomienda.encEstado eq 0?'true':'false'}" icon="ui-icon-arrowrefresh-1-w" value="Entregar" oncomplete="confirmation2.show()"/>
                                    </center>
                                    <br />
                                </p:fieldset>                                
                            </h:panelGrid>
                            <p:dataTable id="tabladetalle" var="encodet" value="#{managedBeanEncomienda.objetoEmcomienda.encomiendadetalleList}" emptyMessage="Datos no encontrados"
                                         rows="15" editable="true" editMode="cell" widgetVar="tabladetalleTable"
                                         rowKey="#{encodet.idEncomiendaDetalle}">
                                <f:facet name="header">  
                                    <p:outputPanel>  
                                        <h:outputText value="Lista Detallada de Giros y Encomiendas" />    
                                    </p:outputPanel>
                                </f:facet>
                                <p:column headerText="Tipo de Encomienda" style="width:20%" filterMatchMode="contains" filterBy="#{encodet.tipoencomienda.encTipo}">                                            
                                    <h:outputText value="#{encodet.tipoencomienda.encTipo}" />
                                </p:column>

                                <p:column id="desc" filterMatchMode="contains" filterBy="#{encodet.dencDetalle}" style="text-align: center; width:35%" > 
                                    <f:facet name="header">
                                        <h:outputText value="#{encodet.tipoencomienda.encTipo.equalsIgnoreCase('Giro') eq true?'Monto Enviado(S/.)':'Descripcion'}" />
                                    </f:facet>  
                                    <h:outputText value="#{encodet.dencDetalle}" />
                                </p:column>
                                <p:column id="cantidad" filterMatchMode="contains" filterBy="#{encodet.dencCantidad}" style="text-align: center; width:15%" > 
                                    <f:facet name="header">
                                        <h:outputText value="Cantidad" />
                                    </f:facet>
                                    <h:outputText value="#{encodet.dencCantidad}" />
                                </p:column>
                                <p:column filterMatchMode="contains" filterBy="#{encodet.dencCantidad}" style="text-align: center; width:15%" > 
                                    <f:facet name="header">
                                        <h:outputText value="Peso (Kg)" />
                                    </f:facet>
                                    <h:outputText value="#{encodet.dencPeso}" >
                                        <f:convertNumber type="currency" minFractionDigits="2" pattern="#0.00"/>
                                    </h:outputText>
                                </p:column>
                                <p:column filterMatchMode="contains" filterBy="#{encodet.dencPrecio}" style="text-align: center; width:15%" > 
                                    <f:facet name="header">
                                        <h:outputText value="Precio Unitario (S/.)" />
                                    </f:facet>
                                    <h:outputText value="#{encodet.dencPrecio}" >
                                        <f:convertNumber type="currency" minFractionDigits="2" pattern="#0.00"/>
                                    </h:outputText>
                                </p:column>
                                <f:facet name="footer">
                                    <div style="display:#{encodet.tipoencomienda.encTipo.equalsIgnoreCase('Giro') eq true?'block':'none'}; text-align: center" >
                                        <h:outputText style="font-size: 20px" value="Cantidad a Entregar S/.: " />
                                        <h:outputText style="font-size: 20px" value="#{managedBeanEncomienda.objetoEmcomienda.encTotal*10}" >
                                            <f:convertNumber type="currency" minFractionDigits="2" pattern="#0.00"/>
                                        </h:outputText>
                                        <h:outputText value=" Cobro por Envio S/.: " />
                                        <h:outputText value="#{managedBeanEncomienda.objetoEmcomienda.encTotal}" >
                                            <f:convertNumber type="currency" minFractionDigits="2" pattern="#0.00"/>
                                        </h:outputText>
                                    </div>
                                </f:facet>
                            </p:dataTable>
                        </p:dialog>
                        <p:confirmDialog id="confirmDialog2222" message="¿Desea Entregar el Giro o Encomienda?"
                                         header="Confirmación2"  severity="alert" widgetVar="confirmation2" width="300" height="60">
                            <p:commandButton id="confirm2" value="SI" oncomplete="confirmation2.hide()"
                                             action="#{managedBeanEncomienda.editar2(managedBeanIniciosesion)}" update=":frmNuevo"/>
                            <p:commandButton id="decline2" value="NO" onclick="confirmation2.hide();" type="button" />
                        </p:confirmDialog>
                        <p:outputPanel id="panel1" autoUpdate="true" style="text-align: center">
                            <center>
                                <h:panelGrid columns="2" cellpadding="10">
                                    <p:fieldset legend="Exportar Todo: Seleccione el tipo de Formato" toggleSpeed="500"> 
                                        <center>
                                            <h:panelGrid columns="2" cellpadding="10">
                                                <h:commandLink>
                                                    <p:graphicImage style="width: 40px; height: 48px" value="/images/excel.png" />
                                                    <p:dataExporter type="xls" target="dataTable" fileName="lista" />
                                                </h:commandLink>
                                                <h:commandLink>
                                                    <p:graphicImage style="width: 50px; height: 48px" value="/images/pdf.jpg" />
                                                    <p:dataExporter type="pdf" target="dataTable" fileName="lista"/>
                                                </h:commandLink>
                                            </h:panelGrid>
                                        </center>
                                    </p:fieldset>
                                    <h:panelGrid columns="2" cellpadding="10" >                             
                                        <p:fieldset legend="Exportar por Paginado: Seleccione el tipo de Formato" toggleSpeed="500"> 
                                            <center>
                                                <h:panelGrid columns="2" cellpadding="10">
                                                    <h:commandLink>
                                                        <p:graphicImage style="width: 40px; height: 48px" value="/images/excel.png" />
                                                        <p:dataExporter type="xls" target="dataTable" fileName="lista" pageOnly="true"/>
                                                    </h:commandLink>
                                                    <h:commandLink>
                                                        <p:graphicImage style="width: 50px; height: 48px" value="/images/pdf.jpg" />
                                                        <p:dataExporter type="pdf" target="dataTable" fileName="lista" pageOnly="true"/>
                                                    </h:commandLink>
                                                </h:panelGrid>
                                            </center>
                                        </p:fieldset>
                                    </h:panelGrid>
                                </h:panelGrid>
                            </center>
                        </p:outputPanel>
                    </h:form>
                </p:panel>
            </ui:define>
        </ui:composition>
    </body>
</html>

